2 Preliminary remarks

2.1 Relation to VHDL '93 and protected types

The Objective VHDL grammar is a superset of VHDL '93. Nonetheless, since additional keywords are introduced into the language, VHDL '93 programs using these as identifiers will be rejected by the parser, resulting in a syntactic error. This is the only source of incompatibility limiting upward compatibility with VHDL '93.

In a future revision of VHDL (probably 1998) the use of shared variables is likely to be restricted to protected types [SV-LCS]. As discussed in [WP 1.2C] this does not affect the validity of the Objective VHDL language extensions or the way the translator works. But users should be aware that the present use of shared variables--regardless whether with classes or the other types--may be not consistent with the future development of VHDL. The relationship of class types and protected types may be reconsidered when the latter are standardized and implemented in compilers and simulators, in order to provide class types with a synchronisation mechanism for concurrent access.

2.2 Structure and terminology of this document

Taking the Language Change Specification towards Shared Variables [SV-LCS] as an example, this document defines Objective VHDL through additions and modifications with respect to the VHDL Language Reference Manual [LRM]. We gather information on object-oriented design entities and types, respectively, in the following chapters and define changes referring to the affected LRM paragraphs. This should help to focus on the innovations and avoids issues on how to get an editable version of the LRM. Moreover it is compatible with the way the OOVHDL Working Group will proceed. On the other hand it means this document alone does not suffice as reference manual for the full Objective VHDL language.

Extended backus naur form adopted from the VHDL LRM will be applied to formal definition of syntax extensions; cf. [LRM section 0.2.1]. Semantics are described informally like the LRM does. In addition there are notes and rationale. Notes emphasize important implications arising--possibly through interrelations with remote sections--from the main text. Rationale explain the purpose of certain constructs or rules.

2.3 Changes with respect to the language architecture document